package com.jt.redis;

import redis.clients.jedis.Jedis;
import sun.util.locale.provider.JRELocaleConstants;

import java.util.Map;

/**
 * 购物车系统
 * 需求：
 * 1）向购物车添加商品
 * 2）修改购物车商品数量
 * 3）查看购物车商品
 * 4）清空购物车商品
 * 设计：
 * 1）一部分数据存Redis一部分存mysql
 */
public class CartDemo01 {
    public static void doAddCart(String userId ,String productId,int num){
        Jedis jedis = new Jedis("192.168.126.129",6379);
        jedis.hincrBy("cart:"+userId, productId, num);
        jedis.close();
    }
    public static Map<String, String> doViewCart(String userId){
        Jedis jedis = new Jedis("192.168.126.129",6379);
        Map<String, String> map = jedis.hgetAll("cart:"+userId);
        jedis.close();
        return map;
    }
    public static void flushCart(String userId,String... productId){
        Jedis jedis = new Jedis("192.168.126.129",6379);
        jedis.hdel("cart:" + userId,productId);
        jedis.close();

    }
    public static void main(String[] args) {
        String userId = "1001";

        //1、购买商品时，将商品信息添加到购物车
        doAddCart(userId,"201",1);
        doAddCart(userId,"202",1);
        doAddCart(userId,"203",1);

        //2、允许修改购物车商品的数量
        doAddCart(userId,"202",1);
        doAddCart(userId,"203",2);

        //3、查看购物车商品信息
        Map<String, String> map = doViewCart(userId);
        System.out.println(map);
        //4、清空购物车
        flushCart(userId,"201","202","203");
        map = doViewCart(userId);
        System.out.println(map);
    }
}
